package model.entidade;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * @author Zeno
 */

public class Empregado extends BaseEntity {

	private static final long serialVersionUID = 6535432698919486620L;

	private Long id;
	private String nome;
	private Boolean sexo;
	private BigDecimal salario;
	private String cpf;
	private String dataNascimento;
	private String dataAdmissao;
	private String dataDesligamento;

	public Empregado() {}

	public Empregado(Long id, String nome, Boolean sexo, BigDecimal salario, String cpf, String dataNascimento, String dataAdmissao, String dataDesligamento) {
		this.id = id;
		this.nome = nome;
		this.sexo = sexo;
		if (sexo!=null) setSexo(sexo);
		this.salario = salario;
		this.cpf = cpf;
		this.dataNascimento = dataNascimento;
		this.dataAdmissao = dataAdmissao;
		this.dataDesligamento = dataDesligamento;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {	
		this.nome = nome;
	}
	public Boolean getSexo() {
		return sexo;
	}

	public void setSexo(Boolean sexo) {
		this.sexo = sexo;
	}

	public void setSexoPorExtenso(String sexo) {
		if (sexo.equalsIgnoreCase("Masculino")) {
			this.sexo = true;
		} else if (sexo.equals("Feminino")) {
			this.sexo = false;
		} else {
                        this.sexo = null;
                }
	}

	public String getSexoPorExtenso() {
                if (sexo) {
                    return "Masculino";
                } else {
                    return "Feminino";
                }
	}

	public BigDecimal getSalario() {
		return salario;
	}
	
	public String getSalarioExtenso(){
		return String.valueOf(salario.floatValue());
	}

	public void setSalario(BigDecimal salario) {
		this.salario = salario;
	}

	public void setSalarioPorExtenso(String salario) {
		if (salario.equals("")) {
			this.salario = null;
		} else {
			this.salario = new BigDecimal(salario).setScale(2, RoundingMode.HALF_EVEN);
		}
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getDataNascimento() {
		return dataNascimento;
	}

	public void setDataNascimento(String dataNascimento) {
		this.dataNascimento = dataNascimento;
	}

	public String getDataAdmissao() {
		return dataAdmissao;
	}

	public void setDataAdmissao(String dataAdmissao) {
		this.dataAdmissao = dataAdmissao;
	}

	public String getDataDesligamento() {
		return dataDesligamento;
	}

	public void setDataDesligamento(String dataDesligamento) {
		this.dataDesligamento = dataDesligamento;
	}

	public int getIdade() {
		return 0;
	}

}
